package com.ruoyi.mapper;

import com.ruoyi.domain.Device;
import org.apache.ibatis.annotations.*;

import java.util.List;

/*
  @ClassName: DeviceMapper
 * @Description:
 * @author: lifei
 * @date: 2025年02月26日 14:48
 */

/**
 * @author lifei
 */
@Mapper
public interface DeviceMapper {

    /**
     * 插入一条用户设备记录。
     *
     * @param userDevice 需要插入的用户设备信息
     */
    void insertUserDevice(Device userDevice);

    /**
     * 根据设备ID删除设备记录。
     *
     * @param deviceId 设备ID
     */
    void deleteUserDevice(Long deviceId);

    /**
     * 更新用户设备信息。
     *
     * @param userDevice 更新后的用户设备信息
     */
    void updateUserDevice(Device userDevice);

    /**
     * 根据设备ID获取设备信息。
     *
     * @param deviceId 设备ID
     * @return 对应的用户设备信息
     */
    Device getUserDeviceById(Long deviceId);

    /**
     * 根据用户ID获取用户的所有设备信息。
     *
     * @param userId 用户ID
     * @return 用户的所有设备列表
     */
    List<Device> getUserDevicesByUserId(Long userId);
}
